Credit-Based Shaping
Credit-Based Shaping
Credit-Based Shaping(크레딧 기반 대역폭어)은 실시간 네트워크 통신, 특히 IEEE 8021Qav 표준에서 정의된 Time-Sensitive Networking(TSN) 환경에서 사용되는 대역폭 관리 기법 중 하나입니다. 이 기법은 특정 트래픽 클래스(예: 오디오/비디오 스트림)에 대해 예측 가능한 전송 지연과 대역폭 보장을 제공하기 위해 설계되었으며, 특히 비정기적인 트래픽이 실시간 트래픽에 미치는 영향을 최소화하는 데 목적이 있습니다.
Credit-Based Shaping은 전통적인 큐잉(Queuing) 방식과 달리, 시간 기반 스케줄링이 아닌 가상 크레딧(virtual credit) 시스템을 활용하여 대역폭을 동적으로 할당합니다.
개요
네트워크 환경에서 다양한 유형의 트래픽(예: 일반 데이터, 실시간 오디오/비디오, 제어 신호 등)이 동시에 전송될 경우, 대역폭 경쟁으로 인해 중요한 실시간 트래픽이 지연되거나 손실될 수 있습니다. 이를 해결하기 위해 개발된 TSN(Time-Sensitive Networking) 기술은 실시간성과 신뢰성을 보장하는 다양한 메커니즘을 포함하고 있으며, 그 중 하나가 Credit-Based Shaping(CBS)입니다.
CBS는 비정기적인 트래픽(asynchronous traffic)을 위한 대역폭 제어 기법으로, 오디오 비디오 트래픽(AV traffic)을 위한 클래스 A(Class A)와 클래스 B(Class B)에 적용됩니다. 이 기법은 각 트래픽 큐에 대해 크레딧(credit)을 부여하고, 이 크레딧이 양수일 때만 프레임 전송을 허용함으로써 대역폭을 제어합니다.
작동 원리
Credit-Based Shaping은 다음과 같은 핵심 개념을 기반으로 동작합니다:
1. 크레딧(Credit) 시스템
- 각 큐는 가상 크레딧 값을 가지며, 이 값은 시간에 따라 증가하거나 감소합니다.
- 크레딧이 양수 또는 0일 때만 프레임을 전송할 수 있습니다.
- 크레딧이 음수가 되면 전송이 일시 중단됩니다.
2. 크레딧 변화율
크레딧은 두 가지 상태에서 변화합니다:
- 전송 중(Sending): 크레딧이 감소 (감소율:
[idleSlope](/doc/%EA%B8%B0%EC%88%A0/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/%EB%8C%80%EC%97%AD%ED%8F%AD%20%EC%A0%9C%EC%96%B4%20%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0/idleSlope)
) - 대기 중(Idle): 크레딧이 증가 (증가율:
[sendSlope](/doc/%EA%B8%B0%EC%88%A0/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/%EB%8C%80%EC%97%AD%ED%8F%AD%20%EC%A0%9C%EC%96%B4%20%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0/sendSlope)
)
여기서:
- idleSlope
: 해당 큐가 전송 중이지 않을 때 크레딧이 증가하는 비율 (일반적으로 음수 값)
- sendSlope
: 해당 큐가 프레임을 전송할 때 크레딧이 감소하는 비율 (일반적으로 양수 값)
✅ 참고:
idleSlope
와sendSlope
는 ****(bit per second) 단위로 표현되며,idleSlope
는 실제로는 음수 값이지만 절대값으로 취급됩니다.
3. 크레딧 한계
이 한계값은 트래픽의 버스트(burst) 크기를 제어하며, 네트워크의 예측 가능성을 높입니다.
수학적 모델
크레딧 ( C(t) )는 시간 ( t )에 따라 다음과 같이 변화합니다:
[ C(t) = \begin{cases} C(t_0) + \text{idleSlope} \times (t - t_0) & \text{if idle, } C < \text{hiCredit} \ C(t_0) + \text{sendSlope} \times (t - t_0) & \text{if sending, } C > \text{loCredit} \end{cases} ]
여기서:
- idleSlope
= 네트워크에서 할당된 대역폭 (예: 75%)
- sendSlope
= 링크 속도 - idleSlope
예를 들어, 100Mbps 링크에서 Class A 트래픽에 75Mbps를 할당하면:
- idleSlope
= 75,000,000 bps
- sendSlope
= 100,000,000 - 75,000,000 = 25,000,000 bps
주요 파라미
파라미터 | 설명 |
---|---|
idleSlope |
대역폭 할당량 (bps). 크레딧이 증가하는 속도 |
sendSlope |
전송 시 크레딧이 감소하는 속도 (bps) |
hiCredit |
최대 크레딧 한계 (버스트 허용 크기) |
loCredit |
최소 크레딧 한계 (일반적으로 0 또는 음수) |
이 파라미터들은 네트워크 설계 시 트래픽의 특성(버스트 패턴, 평균 대역폭 등)에 따라 정해집니다.
장점
- ✅ 예측 가능한 지연: 크레딧 기반 제어로 인해 최대 지연 시간을 계산 가능
- ✅ 공정한 대역폭 공유: 여러 실시간 트래픽 간의 공정한 대역폭 분배
- ✅ 버스트 제어:
hiCredit
제한으로 인해 과도한 버스트 전송 방지 - ✅ 하드웨어 구현 용이: 비교적 간단한 알고리즘으로 FPGA/ASIC에 구현 가능
한계 및 고려사항
- ❌ 정확한 파라미터 설정 필요: 잘못된
idleSlope
나hiCredit
설정은 대역폭 낭비 또는 지연 증가를 초래 - ❌ 정기적 트래픽에는 비효율적: 주기적인 실시간 트래픽에는 Time-Aware Shaper(TAS, IEEE 802.1Qbv)가 더 적합
- ❌ 지연 변동성: 버스트 전송 시 최소 지연은 보장되나, 최대 지연은 여전히 존재
적용 사례
Credit-Based Shaping은 주로 다음과 같은 환경에서 사용됩니다:
- 산업 자동화: 로봇 제어, 센서 데이터 전송
- 자동차 네트워크: IVN(In-Vehicle Network)에서 오디오/비디오 및 제어 신호 분리
- AV 장비 네트워크: 스튜디오 내 실시간 미디어 스트리밍
- 스마트 제조: 실시간 모니터링 및 제어 시스템
관련 표준
- IEEE 802.1Qav: Forwarding and Queuing Enhancements for Time-Sensitive Streams
- IEEE 802.1Qbv: Time-Aware Shaper (CBS와 함께 사용됨)
- IEEE 802.1Qcc: TSN 스트림 예약 및 구성 개선
참고 자료
- IEEE 802.1Qav-2011 Standard Document
- "Time-Sensitive Networking: A Comprehensive Guide", IEEE Communications Magazine
- TSN Task Group 공식 사이트
Credit-Based Shaping은 실시간 네트워크에서 비정기적 트래픽의 대역폭을 효과적으로 제어하는 핵심 기술로, TSN 기반 인프라의 안정성과 예측 가능성을 높이는 데 기여하고 있습니다.
이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.